package com.tdam2011.grupo04;

import java.util.ArrayList;

import com.tdam2011.grupo04.Agenda.ContactoAgendaAdapter.Holder;
import com.tdam2011.grupo04.HistorialMensajes.MensajeAgendaAdapter;
import com.tdam2011.grupo04.entidades.Accion;
import com.tdam2011.grupo04.entidades.Contacto;
import com.tdam2011.grupo04.entidades.Mensaje;

import android.app.ListActivity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.QuickContactBadge;
import android.widget.TextView;

public class Acciones extends ListActivity{
	
	private AccionesAdapter adapter;
	
	protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.accion);
        
        //Preparamos la lista de contactos
        this.adapter= new AccionesAdapter();
        this.setListAdapter(adapter);
        
        //Cargamos datos en la agenda de contactos
        //cargarAcciones();
	}
	
	protected void onResume()
	{
		super.onResume();
		cargarAcciones();
	}
	
	private void grabarAcciones(Sql sql)
	{
		
		int size = ArrayAcciones.acciones.size();
		if(size>0)
		{
			for(int i = 0; i<size; i++)
			{
				Accion accion = (Accion)ArrayAcciones.acciones.get(i);
				sql.addAccion(accion);
			}
			ArrayAcciones.clear();
		}

	}

	public void cargarAcciones()
	{
		Sql sql = new Sql(this);
		grabarAcciones(sql);
		
		Cursor cur = sql.getAllAccion();
		
		adapter.clearList();

		if (cur.getCount() > 0) {
			while (cur.moveToNext()) {
				//String id = cur.getString(cur.getColumnIndex("_id"));
				String estado = cur.getString(cur.getColumnIndex("estado"));
				String tipo = cur.getString(cur.getColumnIndex("tipo"));
				String fecha = cur.getString(cur.getColumnIndex("fecha"));
				
				Accion accion = new Accion();
				accion.setEstado(estado);
				accion.setTipo(tipo);
				accion.setFecha(fecha);
				
				Log.w("prueba", accion.toString());					
				adapter.addAccion(accion);
			}
		}
		cur.close();
		sql.close();
		adapter.notifyDataSetChanged();
	}
	
	class AccionesAdapter extends BaseAdapter{
		private ArrayList<Accion> acciones;
		private LayoutInflater inflater;
		
		
		public AccionesAdapter() {
			acciones = new ArrayList<Accion>();
			inflater = LayoutInflater.from(Acciones.this);
		}

		public void addAccion(Accion accion) {
			if (accion != null) 
				acciones.add(accion);
		}
		
		@Override
		public int getCount() {
			return acciones.size();
		}

		@Override
		public Object getItem(int position) {
			return acciones.get(position);
		}

		@Override
		public long getItemId(int position) {
			return position;
		}

		public void clearList(){
			acciones.clear();
		}
		
		class Holder {
			private TextView txt_estado;
			private TextView txt_tipo;
			private TextView txt_fecha;
		}
		
		@Override
		public View getView(int position, View convertView, ViewGroup arg2) {
			Holder holder;
			if (convertView == null) {
				convertView = inflater.inflate(R.layout.accion_detalle, null);
				holder = new Holder();
				holder.txt_estado = (TextView) convertView
						.findViewById(R.id.txt_estado);
				holder.txt_tipo = (TextView) convertView
						.findViewById(R.id.txt_tipo);
				holder.txt_fecha = (TextView) convertView
						.findViewById(R.id.txt_fecha);
				convertView.setTag(holder);
			} else {
				holder = (Holder) convertView.getTag();
			}
			
			Accion accion = (Accion)getItem(position);
			
			holder.txt_estado.setText(accion.getEstado());
			holder.txt_tipo.setText(accion.getTipo());
			holder.txt_fecha.setText(accion.getFecha());
			return convertView;
		}
		
	}
	
}
